const connect = require("../sql")
/* 
    作用: 获取mysql里面所有的学生信息
*/
async function queryAll(req,res){
    /* 
        传入两个参数 => 
            参数一 => sql语句
            参数二 => 数一个数组,前端传入过来的数据
    */
    // 处理promise的返回结果 async/await .then,.catch
    const result = await connect("select * from student",[])
    // 将这个结果交给前端
    res.send({code:200,msg:result})
}

/* 
    作用: 添加一个学生信息
*/
async function add(req,res){
    // 获取post请求的参数
    const {name,password,gender,phone} = req.body;
    await connect("insert into student value(null,?,?,?,?)",[name,password,gender,phone])
    res.send({code:200,msg:"添加学生信息成功"})
}

/* 
    作用: 删除学生信息
*/
async function remove(req,res){
    // 获取前端传入过来的ID,根据ID进行删除操作
    const {id} = req.body;
    console.log(id);
    await connect("delete from student where id = ?",[id])
    res.send({code:200,msg:"删除成功!"})
}

/* 
    作用: 根据学生ID获取学生信息
*/
async function queryone(req,res){
    const {id} = req.query;
    const result = await connect("select * from student where id = ?",[id]);
    res.send({code:200,msg:result[0]})
}

/* 
    作用: 修改学生信息
*/
async function edit(req,res){
    const {id,name,password,gender,phone} = req.body;
    await connect("update student set name = ?,password = ?,gender = ?,phone = ? where id = ?",[name,password,gender,phone,id])
    res.send({code:200,msg:"修改成功"})
}

// nodejs采用的都是模块化的思想
module.exports = {
    queryAll,add,remove,queryone,edit
}